package cn.bonoon.kernel.annotations;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * <pre>
 * 如果是枚举或其它类型，可以指定根据哪个方法来读取相应的值，这时定义的方法的返回
 * 值应该与所属字段的类型一致；也就是说，通过本注解可以指定非get/set方法的处理
 * 
 * 当读取模式为{@link ReadModel#OPTIMIZE}时，本注解无效
 * </pre>
 * @author jackson
 *
 */
@Target(FIELD)
@Retention(RUNTIME)
public @interface ValueReader {
	String value();
}
